<%
'******************************************************************************************
'#          Openasp CMS software opensource                                               #
'******************************************************************************************
'#      Copyright (C) Luca Becchetti, Broken Ice Interactive                              #
'#                                                                                        #
'# Questo software è gratuito, è possibile ridistribuire e modificare il prodotto         #
'# rispettando i termini della GNU General Public License pubblicata dalla Free           #
'# Software Foundation, si fa riferimento alla versione attuale e a tutte le versioni.    #
'# future                                                                                 #
'#                                                                                        #
'# Il software viene distribuito con lo scopo di essere utile e di aiutare nella          #
'# realizzazione di un sito web, non ci assiumiamo nessuna responsabilità per             #
'# eventuali malfunzionamenti o problemi provenienti dal programma.                       #
'#                                                                                        #
'# E' assolutamente vietato eliminare ogni riferimento di copyright sia all'interno del   #
'# del codice sorgente sia quelli visivi nel progetto.                                    #
'#                                                                                        #
'# Una copia della licenza GNU GPL è rilasciata nel pacchetto di istallazione del         #
'# software.                                                                              #
'#                                                                                        #
'# Per supporto visita il nostro sito ufficiale                                           #
'# http://www.openasp.it                                                                  #
'#                                                                                        #
'#                                                                                        #
'******************************************************************************************
'
'--------------------------------------------------------------------------------------------

i = split(request.ServerVariables("HTTP_URL"), "/")
if strComp("hello.asp", i(Ubound(i)), 1) = 0 then
  response.redirect request.servervariables("HTTP_REFERER")
end if
call onlyMOD(session("uID"), "blog")
idblog = 1
'Assegno il numero massimo di record visibili su ogni pagina
iPageSize = 10
Function isBlogMod(id, categ)
		if id <> "" and categ <> "" then
			if isNumeric(user) and isNumeric(cat) then
				set testRS = addConn.Execute("SELECT * FROM tb_blog_moderazione WHERE utente = " & id & " AND idcategoria = " & categ)
				if not testRS.EOF then
					isBlogMod = true
				else
					isBlogMod = false
				end if
			else
				isBlogMod = false
			end if
		else
			isBlogMod = false
		end if
	End Function
%>
<script language="javascript" type="text/javascript">
//Funzione per la gestione dei blocchi
$j(document).ready(function(){

	//Variabile che accerta la disponibilità ad eseguire operazioni
	var disp = true;

	/**
	* FUNZIONE DI DELETE PER I BLOCCHI
	**/
	//Inserisco funzioni di eliminazione nelle singole righe
    $j(".delete").click(function(){
	   if(disp){
		   //Chiedo conferma all'utente
		   if (!confirm('<%=traduci("ling_blog_40")%>')){
			return false;
		   }else{

			$j.blockUI( { border: "0px"} );
			$j.blockUI( '<img src="themes/SHARE/indicator.gif" />' );
			//Setto il motore ajax impegnato
			disp = false;
			//Salvo la riga che ha chiamato l'eliminazione
			var a = $j(this).parents("li");
			//Elimino la riga interessata
			$j.post("admin.asp?modulo=ajax&proc=blog/delete_post",{id: a.attr("id")},function(txt){
			   
			   $j.unblockUI(); 
			   
			   //Nascondo la riga
			   if(txt == "ok")
				   a.hide("slow");
			   else
				   alert('errore nell\'eliminazione!');
				
  
			   //Rilascio il motore ajax
			   disp = true;
			});
		   }
	   }
	 });
	 
	/**
	* FUNZIONE PER SALVARE LE MODIFICHE DEI BLOCCHI
	**/
	//Inserisco funzioni di eliminazione nelle singole righe
    $j(".save").click(function(){
		
		//Controllo che il motore ajax non stia effettaundo operazioni	
		if(disp){
			//Salvo la riga che ha chiamato l'eliminazione
			var id = $j(this).parents("li").attr("id").replace("id", "");

			$j.blockUI( { border: "0px"} );
			$j.blockUI( '<img src="themes/SHARE/indicator.gif" />' );
			//Setto il motore ajax impegnato
			disp = false;
			//Elimino la riga interessata
			$j.post("admin.asp?modulo=ajax&proc=blog/update_post",{
				id: id, 
				titolo: $j("input[@name=titolo_"+id+"]").val().replace("à", "&agrave;").replace("é", "&eacute;").replace("ù", "&ugrave;").replace("ì", "&igrave;").replace("ò", "&ograve;").replace("è","&egrave;"),
				stato:  $j("select[@name=stato_"+id+"]").val()
			},function(txt){
			   //Nascondo la riga
			   if(txt != "ok")
				   alert('errore nel salvataggio!');

			   //Rilascio il motore ajax
			   disp = true;
			   $j.unblockUI();
			});
		}
		
	 });

});
</script>
<div id="position">
	<a href="admin.asp" class="testo">Control Center</a> &raquo; <a href="admin.asp?modulo=blog"><%=traduci("ling_blog_14")%></a> &raquo; <%=traduci("ling_blog_9")%>
</div>
<div id="page">
<%
if DB_TYPE = "mysql" then
'se non si stà richiedendo nessuna pagina assegno per default il valore 1
If Request.QueryString("page") = "" Then
	iPageCurrent = 1
Else
	'Altrimenti assegno la pagina recuperata
	iPageCurrent = CInt(Request.QueryString("page"))
End If	
	
	
start = (iPageCurrent -1)*iPageSize
send = iPageSize
if session("livelloUser") = 2 or isAdm(session("uID"), "blog") then
	'recupero il totale dei record
	SQL = "SELECT COUNT(*) AS TOTALE FROM tb_blog_posts WHERE blog = " & idblog
else
	SQL = "SELECT COUNT(*) AS TOTALE FROM tb_blog_posts WHERE blog = " & idblog & " AND categoria IN (select id_categoria from tb_blog_categorie, tb_Blog_moderazione where id_categoria = idcategoria AND utente = "&session("uID")&")"
end if
Set a = objConn.Execute(SQL)	
tot = Cint(a("TOTALE"))
'Recupero il totale delle pagine
if tot < iPageSize then
	iPageCount = 1
elseif tot mod iPageSize = 0 then
	iPageCount = Int(tot/iPageSize)
else
	iPageCount = Int((tot/iPageSize)) + 1
End if

SQL = ""
Set objRS = Server.CreateObject("ADODB.RecordSet")
'apro il recordset 

if session("livelloUser") = 2 or isAdm(session("uID"), "blog") then
	'recupero il totale dei record
	SQL = "SELECT * FROM tb_blog_posts WHERE blog = " & idblog
	SQL = SQL & " ORDER BY id_post DESC Limit "&start&","&send&""
else
	SQL = "SELECT * FROM tb_blog_posts WHERE blog = " & idblog
	SQL = SQL & " AND categoria IN (select id_categoria from tb_blog_categorie, tb_blog_moderazione where id_categoria = idcategoria AND utente = "&session("uID")&") ORDER BY id_post DESC Limit "&start&","&send& " "
end if

objRS.Open SQL, addConn, 1, 3

if objRS.EOF then
	With response
		.Write "<p style=""text-align:center"">"&vbNewLine
		.Write "</p>"&vbNewLine
	End with
	Else
		Response.Write "<ul id=""pagelist"">"
		Do While Not objRS.EOF
				With response
					.Write "<li id=""id"&objRS("id_post")&""">" &vbNewLine
					.Write "<input type=""text"" size=""35"" class=""inputclass""name=""titolo_"&objRS("id_post")&""" value=""" & objRS("titolo") & """ /> "
						.Write traduci("ling_blog_36") & " <select class=""inputclass"" name=""stato_"&objRS("id_post")&""">"&vbNewLine
						.Write "<option value=""1"" "
					End with
					call selected(objRS("pubblico"),"1")
					With response
						.Write ">" & traduci("ling_blog_37")& "</option>"&vbNewLine
						.Write "<option value=""0"" "
					End with
					call selected(objRS("pubblico"),"0")
					With response
						.Write ">" & traduci("ling_blog_38")& "</option>"&vbNewLine
						.Write "</select> "&vbNewLine					
					.Write traduci("ling_blog_39") &"<input type=""text"" size=""35"" class=""inputclass"" value=""" & strToDate(objRS("data")) & " - " & username(objRS("utente")) & """ /> "
					.Write traduci("ling_blog_77") & "<input type=""text"" size=""15"" class=""inputclass"" value=""" & objRS("view") & """ /> "
					if session("livelloUser") = 2 or isAdm(session("uID"), "blog") or isBlogMod(session("uID"),objRS("categoria")) then
						.Write "<a title="""" href=""admin.asp?modulo=blog&amp;op=modifica_post&amp;id="&objRS("id_post")&"""><img class=""edit"" alt="""" src=""themes/SHARE/struct.gif"" border=""0"" /></a>&nbsp;"					
						.Write "<img class=""delete"" alt="""" src=""themes/SHARE/del.png"" border=""0"" />&nbsp;"
						.Write "<img class=""save"" alt="""" src=""themes/SHARE/check.png"" border=""0"" />&nbsp;"
					end if																
					.Write "<a title="""&traduci("ling_blog_42")&""" href=""admin.asp?modulo=blog&amp;op=comment&amp;id="&objRS("id_post")&"""><img class=""edit"" alt="""&traduci("ling_blog_42")&""" src=""themes/MODULI_IMG/MODULO_BLOG/comment.gif"" border=""0"" /></a>&nbsp;"														
					.Write "</li>"&vbNewLine
				End with
			objRS.MoveNext
		loop
		response.Write "</ul>"
		end if
		Set objRS = Nothing
	Else 'Database Access
				Set objRS = Server.CreateObject("ADODB.RecordSet")
				
				if session("livelloUser") = 2 or isAdm(session("uID"), "blog") then
					'recupero il totale dei record
					SQL = "SELECT * FROM tb_blog_posts WHERE blog = " & idblog
					SQL = SQL & " ORDER BY DESC id_post"
				else
					SQL = "SELECT * FROM tb_blog_posts WHERE blog = " & idblog
					SQL = SQL & " AND categoria IN (select id_categoria from tb_blog_categorie, tb_Blog_moderazione where id_categoria = idcategoria AND utente = "&session("uID")&") ORDER BY id_post DESC"
				end if
				objRS.Open SQL, addConn, 1, 3
				
				'configuro il recordset per la paginazione
				objRS.PageSize = iPageSize
				objRS.CacheSize = iPageSize
				'recupero il totale dei record
				reccount = objRS.recordcount
				'Recupero il totale delle pagine
				iPageCount = objRS.PageCount
				'Se la pagina corrente è maggiore del totale delle pagine vado all'ultima
				if iPageCurrent > iPageCount Then iPageCurrent = iPageCount
					'Se la pagina corrente è minore di 1 vado alla pagina 1
					if iPageCurrent < 1 Then iPageCurrent = 1   
					If iPageCount = 0 Then
							With response
								Write "<P>"&vbNewLine

								.Write "</P>"&vbNewLine
							End with
					Else
						objRS.AbsolutePage = iPageCurrent
						iRecordsShown = 0
						cont=1
						Response.Write "<ul id=""pagelist"">"
						Do While iRecordsShown < iPageSize And Not objRS.EOF
								With response
									.Write "<li id=""id"&objRS("id_post")&""">" &vbNewLine
									.Write "<input type=""text"" size=""35"" class=""inputclass""name=""titolo_"&objRS("id_post")&""" value=""" & objRS("titolo") & """ /> "
									.Write traduci("ling_blog_36") & " <select class=""inputclass"" name=""stato_"&objRS("id_post")&""">"&vbNewLine
									.Write "<option value=""1"" "
								End with
								call selected(objRS("pubblico"),"1")
								With response
									.Write ">" & traduci("ling_blog_37")& "</option>"&vbNewLine
									.Write "<option value=""0"" "
								End with
								call selected(objRS("pubblico"),"0")
								With response
									.Write ">" & traduci("ling_blog_38")& "</option>"&vbNewLine
									.Write "</select> "&vbNewLine					
									.Write traduci("ling_blog_39") &"<input type=""text"" size=""35"" class=""inputclass"" value=""" & strToDate(objRS("data")) & " - " & username(objRS("utente")) & """ /> "
									.Write traduci("ling_blog_77") & "<input type=""text"" size=""15"" class=""inputclass"" value=""" & objRS("view") & """ /> "
									if session("livelloUser") = 2 or isAdm(session("uID"), "blog") or isBlogMod(session("uID"),objRS("categoria")) then
									.Write "<a title="""" href=""admin.asp?modulo=blog&amp;op=modifica_post&amp;id="&objRS("id_post")&"""><img class=""edit"" alt="""" src=""themes/SHARE/struct.gif"" border=""0"" /></a>&nbsp;"
									.Write "<img class=""delete"" alt="""" src=""themes/SHARE/del.png"" border=""0"" />&nbsp;"
									.Write "<img class=""save"" alt="""" src=""themes/SHARE/check.png"" border=""0"" />&nbsp;"
									end if																
									.Write "<a title="""&traduci("ling_blog_42")&""" href=""admin.asp?modulo=blog&amp;op=comment&amp;id="&objRS("id_post")&"""><img class=""edit"" alt="""&traduci("ling_blog_42")&""" src=""themes/MODULI_IMG/MODULO_BLOG/comment.gif"" border=""0"" /></a>&nbsp;"																							
									.Write "</li>"&vbNewLine
								End with
							Cont = Cont + 1
							'POSIZIONAMENTO ALLA RIGA SUCCESSIVA DEL DB
							iRecordsShown = iRecordsShown + 1
							objRS.MoveNext
						loop
						response.Write "</ul>"
					end if
					Set objRS = Nothing								
	End if
%>
<p class="testo">
    Pagina&nbsp;
    <b><%=iPageCurrent%></b>
    &nbsp;di&nbsp;
    <b><%=iPageCount%></b>&nbsp;
    <b>[
    <%if iPageCurrent-2 > 0 and iPageCurrent > 2 then%>
        &nbsp;<a href="admin.asp?modulo=blog&amp;op=postmanage&page=1"><img border="0" src="themes/SHARE/IMG_20.gif" alt="Prima" /></a>&nbsp;
    <%end if%>
    <%if iPageCurrent > 1 then%>
        &nbsp;<a href="admin.asp?modulo=blog&amp;op=postmanage&page=<%=iPageCurrent-1%>"><img border="0" src="themes/SHARE/IMG_23.gif" alt="Precedente" /></a>&nbsp;
    <%end if%>
    <%if iPageCount > 2 then
        if iPageCurrent-2 < 1 then da_pag = 1 else da_pag = iPageCurrent-2
            if iPageCurrent+2 > iPageCount then fino_a_pag = iPageCount else fino_a_pag = iPageCurrent+2
        else
            da_pag = 1
            fino_a_pag = iPageCount
        end if%>
        <%for i = da_pag to fino_a_pag%>
            <%if i = iPageCurrent then%>
                &nbsp;<font size="1" color="red"><%=i%></font>&nbsp;
            <%else%>	
                &nbsp;<a class="testo" href="admin.asp?modulo=blog&amp;op=postmanage&page=<%=i%>"><%=i%></a>&nbsp;
            <%end if%>	
        <%next%>
        <%if iPageCurrent > 0 and iPageCurrent < iPageCount then%>
            &nbsp;<a class="testo" href="admin.asp?modulo=blog&amp;op=postmanage&page=<%=iPageCurrent+1%>"><img border="0" src="themes/SHARE/IMG_22.gif" alt="Successiva" /></a>&nbsp;
        <%end if%>	
        <%if iPageCurrent+1 < iPageCount then%>
            &nbsp;<a class="testo" href="admin.asp?modulo=blog&amp;op=postmanage&page=<%=iPageCount%>"><img border="0" src="themes/SHARE/IMG_21.gif" alt="Ultima" /></a>&nbsp;
        <%end if%>	
    ]</b>
</p>
</div>
<%			